package com.douding.server.mapper;

import com.douding.server.domain.Course;
import com.douding.server.domain.CourseContent;
import com.douding.server.domain.CourseExample;

import java.util.List;

import com.douding.server.dto.CourseContentDto;
import com.douding.server.dto.CourseDto;
import org.apache.ibatis.annotations.Param;

public interface CourseMapper {
    long countByExample(CourseExample example);

    int deleteByExample(CourseExample example);

    int deleteByPrimaryKey(String id);


    int insertSelective(Course record);

    List<Course> selectByExample(CourseExample example);

    Course selectByPrimaryKey(String id);

    int updateByExampleSelective(@Param("record") Course record, @Param("example") CourseExample example);

    int updateByExample(@Param("record") Course record, @Param("example") CourseExample example);

    int updateByPrimaryKeySelective(Course record);

    int updateByPrimaryKey(Course record);


    // 查询所有课程
    List<Course> selectList();

    // 查询最新已发布 的 3门课程
    List<Course> selectListNew();

    // 新增
    int insert(Course course);

    // 更新
    int update(Course course);

    // 删除
    int deleteById(String id);

    void updateCourseSort(@Param("newSort") int newSort);

    CourseContent selectContentById(String id);

    void updateContent(CourseContent courseContent);

    void insertContent(CourseContent courseContent);

    Course selectCourseById(String id);

}
